/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cbaServer;

import commonSources.Cliente;
import commonSources.Conta;
import commonSources.Funcionario;
import commonSources.Painel;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Hashtable;

/**
 *
 * @author Rente
 */
public interface BankServerRemoteInterface extends Remote {

    public void adicionaCliente(Cliente c) throws RemoteException;

    public void associaPainelCliente(String idCliente, String idPainel) throws RemoteException;

    public Hashtable<String, Painel> getListaPaneis() throws RemoteException;

    public void adicionaPainel(Painel p) throws RemoteException;

    public void removePainel(String id) throws RemoteException;

    public Hashtable<String, Cliente> getListaClientes() throws RemoteException;

    public Cliente getCliente(String id) throws RemoteException;

    public Conta getConta(String numeroConta) throws RemoteException;

    public void removeCliente(String id) throws RemoteException;

    public void guardaClientes() throws RemoteException;

    public void eliminaConta(String numConta, String idCliente) throws RemoteException;

    public void novaContaCliente(String idCliente, Conta c) throws RemoteException;

    public void removeFuncionario(String id) throws RemoteException;

    public Hashtable<String, Funcionario> getListaFuncs() throws RemoteException;

    public void adicionaFuncionario(Funcionario f)throws RemoteException;
}
